package com.ruoyi.merchant.service;

import com.ruoyi.merchant.domain.Merchant;
import com.ruoyi.merchant.domain.dto.MerchantAuditRequest;
import com.ruoyi.merchant.domain.vo.MerchantAuditDetailVO;
import com.ruoyi.merchant.domain.vo.MerchantAuditResponse;

import java.util.List;
import java.util.Map;

/**
 * 商家审核Service
 */
public interface IMerchantAuditService {

    /**
     * 查询待审核商家列表
     * @param merchant 查询条件
     * @return 商家列表
     */
    List<Merchant> selectAuditList(Merchant merchant);

    /**
     * 获取商家审核详情
     * @param merchantId 商家ID
     * @return 审核详情
     */
    MerchantAuditDetailVO getAuditDetail(Long merchantId);

    /**
     * 审核商家入驻申请
     * @param request 审核请求
     * @param auditorId 审核人ID
     * @param auditorName 审核人姓名
     * @return 审核结果
     */
    MerchantAuditResponse processAudit(MerchantAuditRequest request, 
                                       Long auditorId, 
                                       String auditorName);

    /**
     * 统计各状态商家数量
     * @return 统计结果
     */
    Map<String, Integer> getAuditStatistics();
}
